
4 Real-World Bugs That Disappear When You Start Using Branded Types
Stop treating every string like an ID and start using nominal typing to prevent the most common logic errors in large-scale TypeScript apps.
Articles, guides, and thoughts on web development and technology

Stop treating every string like an ID and start using nominal typing to prevent the most common logic errors in large-scale TypeScript apps.

Stop importing 50kB of JavaScript just to show a tooltip now that the browser handles the top layer and focus management for you natively.

Client-side metadata is a silent killer for organic rankings; discover why static injection remains the only way to guarantee search bots see your site correctly.

Achieve near-zero latency by moving beyond basic prefetching to the surgical precision of the Speculation Rules API.

Native timezone-aware dates are finally coming to JavaScript—here is how the new Temporal proposal eliminates the need for external libraries and fix-it-later logic.

You can finally run TypeScript directly in Node.js without a single configuration file or external dependency.

The era of heavy database drivers is ending: discover how the new built-in 'node:sqlite' module changes the way we handle local-first data and edge deployments.

Your server and client are arguing over the HTML, and the resulting mismatch is a silent performance killer for your React and Remix apps.

Stop manually tracking boolean flags and removing event listeners by leveraging the one native API designed to kill any async process on command.

Stop bloating your node_modules and learn if the native node:test module is finally powerful enough to replace your heavy testing dependencies.